package com.qd.panda.mapper.hk;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.qd.common.panda.domain.entity.hk.HkParkOrderDTO;
import com.qd.common.panda.domain.entity.hk.HkParkOrderStatisticsDTO;
import com.qd.common.panda.domain.entity.hk.HkPushLogDTO;
import com.qd.panda.model.HkParkOrder;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 临停订单
 *
 * @author sjk
 */
public interface HkParkOrderMapper extends BaseMapper<HkParkOrder> {
    /**
     * 查询推送状态
     *
     * @param inUnid   海康唯一标识
     * @param billCode 海康订单号
     * @return 状态列表
     */
    List<HkPushLogDTO> state(@Param("inUnid") String inUnid, @Param("billCode") String billCode);

    /**
     * 分页
     *
     * @param page  分页属性
     * @param query 查询条件
     * @return 数据
     */
    IPage<HkParkOrderDTO> page(IPage<HkParkOrder> page, @Param(Constants.WRAPPER) Wrapper<HkParkOrder> query);

    /**
     * 可开票订单列表
     *
     * @param page  分页属性
     * @param query 查询条件
     */
    IPage<HkParkOrderDTO> invoicablePage(IPage<HkParkOrder> page, @Param(Constants.WRAPPER) Wrapper<HkParkOrder> query);

    /**
     * 金额求和
     *
     * @param query 查询条件
     * @return 和
     */
    List<HkParkOrderStatisticsDTO> sumMoney(@Param(Constants.WRAPPER) Wrapper<HkParkOrder> query);

    /**
     * 订单列表
     *
     * @param logId 记录ID
     * @return 临停列表
     */
    List<HkParkOrderDTO> list(@Param("logId") String logId);
}